home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 001-100 / 001-025 / 002 / make2 / vars.c < prev    next >
C/C++ Source or Header  |  1995-03-17  |  994b  |  48 lines

  1. #include "vars.h"
  2. #define NULL 0
  3. extern int debug;
  4.  
  5. DefineVar( pch_varname , pch_value )
  6.    char *pch_varname, *pch_value;
  7. {
  8.    int pos;
  9.  
  10.    pos = _Lookup( pch_varname );
  11.    if( debug )
  12.       printf( "Found var '%s' at position %d, defining as %s\n", pch_varname,pos, pch_value );
  13.    if( NULL != avr_Vars[ pos ].string)
  14.       printf("Redefining %s\n", pch_varname );
  15.    avr_Vars[pos].string = pch_value;
  16. }
  17.  
  18. char *
  19. VarLookup( pch_varname )
  20.    char *pch_varname;
  21. {
  22.    int pos;
  23.  
  24.    pos = _Lookup( pch_varname );
  25.    if( debug )
  26.       printf("found '%s' at position %d, value is %s\n", pch_varname, pos, avr_Vars[pos].string );
  27.    return avr_Vars[pos].string;
  28. }
  29.  
  30. static int
  31. _Lookup( pch_varname )
  32.    char *pch_varname;
  33. {
  34.    int pos;
  35.  
  36.    avr_Vars[n_Vars].pch_name = pch_varname;
  37.    avr_Vars[n_Vars].string = NULL;
  38.    pos = 0;
  39.    while( strcmp(pch_varname, avr_Vars[pos].pch_name ))
  40.       pos++;
  41.    if( pos == n_Vars )
  42.       n_Vars++;
  43.    return pos;
  44. }
  45.  
  46. int n_Vars = 0;
  47. struct var avr_Vars[ MAXVARS ];
  48.